<?php


namespace helper;


use Overtrue\EasySms\EasySms;
use Overtrue\EasySms\Exceptions\InvalidArgumentException;
use Overtrue\EasySms\Exceptions\NoGatewayAvailableException;

class Sms
{

  /**
   * 发送短信
   * data格式：[
   * content 文字内容，使用在像云片类似的以文字内容发送的平台
   * template 模板 ID，使用在以模板ID来发送短信的平台
   * data 模板变量，使用在以模板ID来发送短信的平台
   * ]
   * @param $phone
   * @param $data
   * @param array $gateways
   * @return array
   * @throws \InvalidArgumentException
   * @throws \NoGatewayAvailableException
   */
  static public function send($phone, $data, array $gateways = [])
  {
    $config                         = config('sms');
    $config['timeout']              = 5.0;
    $config['default']['strategy']  = \Overtrue\EasySms\Strategies\OrderStrategy::class;
    $config['gateways']['errorlog'] = [
        'file' => app()->getRuntimePath() . 'log/sms.log'
    ];
    $easySms                        = new EasySms($config);
    $res                            = $easySms->send($phone, $data, $gateways);
    return $res;
  }

}